home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / struct.h < prev    next >
C/C++ Source or Header  |  1991-11-05  |  970b  |  29 lines

  1. /*
  2.  * struct.h --
  3.  *
  4.  *    Declarations of macros for getting infomation about the fields
  5.  *      in a structure.
  6.  *
  7.  * Copyright 1991 Regents of the University of California
  8.  * Permission to use, copy, modify, and distribute this
  9.  * software and its documentation for any purpose and without
  10.  * fee is hereby granted, provided that this copyright
  11.  * notice appears in all copies.  The University of California
  12.  * makes no representations about the suitability of this
  13.  * software for any purpose.  It is provided "as is" without
  14.  * express or implied warranty.
  15.  *
  16.  * $Header: /sprite/src/lib/include/RCS/struct.h,v 1.1 91/11/05 15:44:02 rab Exp $ SPRITE (Berkeley)
  17.  */
  18.  
  19. #ifndef _STRUCT_H
  20. #define _STRUCT_H
  21.  
  22. #define fldoff(str, fld)        ((int)&(((struct str *)0)->fld))
  23. #define fldsiz(str, fld)        (sizeof(((struct str *)0)->fld))
  24. #define strbase(str, ptr, fld) \
  25.                             ((struct str *)((char *)(ptr)-fldoff(str, fld)))
  26.  
  27. #endif /* _STRUCT_H */
  28.  
  29.